package cn.doitedu.day07

import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession}

import java.util.Properties

object T16_WriteToMySQL {

  def main(args: Array[String]): Unit = {

    val spark = SparkSession.builder().appName(this.getClass.getSimpleName)
      .master("local[4]")
      .getOrCreate()

    //sparksql支持统一的数据访问方式
    val df: DataFrame = spark.read.parquet("data/order.snappy.parquet")

    //mysql的URL地址
    val url = "jdbc:mysql://node-1.51doit.cn:3306/doit?characterEncoding=utf-8"
    val table = "tb_order666"
    val properties = new Properties()
    //指定MySQL的用户名和密码
    properties.setProperty("user", "root")
    properties.setProperty("password", "123456")


    df.write
      //.mode(SaveMode.ErrorIfExists) //如果要写入的表、目录已经存在，报错（默认的）
      //.mode(SaveMode.Append) //往指定的目录或表中追加数据
      //.mode(SaveMode.Overwrite) //覆盖（将原来的数据删除，然后重新写入）
      .mode(SaveMode.Ignore) //如果目录或表存储，不报错也不写入
      .jdbc(url, table, properties)



  }

}
